{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入依赖，加载数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   NaN        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000   NaN        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from pandas import Series,DataFrame\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 设置图表中字体\n",
    "import matplotlib as mpl\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "\n",
    "data_train = pd.read_csv('../data/train.csv')\n",
    "data_train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分析数据，了解数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      "PassengerId    891 non-null int64\n",
      "Survived       891 non-null int64\n",
      "Pclass         891 non-null int64\n",
      "Name           891 non-null object\n",
      "Sex            891 non-null object\n",
      "Age            714 non-null float64\n",
      "SibSp          891 non-null int64\n",
      "Parch          891 non-null int64\n",
      "Ticket         891 non-null object\n",
      "Fare           891 non-null float64\n",
      "Cabin          189 non-null object\n",
      "Embarked       891 non-null object\n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.6+ KB\n"
     ]
    }
   ],
   "source": [
    "data_train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>714.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>0.523008</td>\n",
       "      <td>0.381594</td>\n",
       "      <td>32.204208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>257.353842</td>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>1.102743</td>\n",
       "      <td>0.806057</td>\n",
       "      <td>49.693429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>223.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.125000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.910400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.454200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>668.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>31.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>512.329200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       PassengerId    Survived      Pclass         Age       SibSp  \\\n",
       "count   891.000000  891.000000  891.000000  714.000000  891.000000   \n",
       "mean    446.000000    0.383838    2.308642   29.699118    0.523008   \n",
       "std     257.353842    0.486592    0.836071   14.526497    1.102743   \n",
       "min       1.000000    0.000000    1.000000    0.420000    0.000000   \n",
       "25%     223.500000    0.000000    2.000000   20.125000    0.000000   \n",
       "50%     446.000000    0.000000    3.000000   28.000000    0.000000   \n",
       "75%     668.500000    1.000000    3.000000   38.000000    1.000000   \n",
       "max     891.000000    1.000000    3.000000   80.000000    8.000000   \n",
       "\n",
       "            Parch        Fare  \n",
       "count  891.000000  891.000000  \n",
       "mean     0.381594   32.204208  \n",
       "std      0.806057   49.693429  \n",
       "min      0.000000    0.000000  \n",
       "25%      0.000000    7.910400  \n",
       "50%      0.000000   14.454200  \n",
       "75%      0.000000   31.000000  \n",
       "max      6.000000  512.329200  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c1a4d908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(15,10))\n",
    "fig.set(alpha=0.2)  # 设定图表颜色alpha参数\n",
    "\n",
    "plt.subplot2grid((2,3),(0,0))             # 在一张大图里分列几个小图\n",
    "data_train.Survived.value_counts().plot(kind='bar')# 柱状图 \n",
    "plt.title(u\"获救情况 (1为获救)\") # 标题\n",
    "plt.ylabel(u\"人数\")  \n",
    "\n",
    "plt.subplot2grid((2,3),(0,1))\n",
    "data_train.Pclass.value_counts().plot(kind=\"bar\")\n",
    "plt.ylabel(u\"人数\")\n",
    "plt.title(u\"乘客等级分布\")\n",
    "\n",
    "plt.subplot2grid((2,3),(0,2))\n",
    "plt.scatter(data_train.Survived, data_train.Age)\n",
    "plt.ylabel(u\"年龄\")                         # 设定纵坐标名称\n",
    "plt.grid(b=True, which='major', axis='y') \n",
    "plt.title(u\"按年龄看获救分布 (1为获救)\")\n",
    "\n",
    "\n",
    "plt.subplot2grid((2,3),(1,0), colspan=2)\n",
    "data_train.Age[data_train.Pclass == 1].plot(kind='kde')   \n",
    "data_train.Age[data_train.Pclass == 2].plot(kind='kde')\n",
    "data_train.Age[data_train.Pclass == 3].plot(kind='kde')\n",
    "plt.xlabel(u\"年龄\")# plots an axis lable\n",
    "plt.ylabel(u\"密度\") \n",
    "plt.title(u\"各等级的乘客年龄分布\")\n",
    "plt.legend((u'头等舱', u'2等舱',u'3等舱'),loc='best') # sets our legend for our graph.\n",
    "\n",
    "\n",
    "plt.subplot2grid((2,3),(1,2))\n",
    "data_train.Embarked.value_counts().plot(kind='bar')\n",
    "plt.title(u\"各登船口岸上船人数\")\n",
    "plt.ylabel(u\"人数\")  \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c241dfd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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IpZJ+v+kHx6p+eWoVaQfEt9E+hWsyrJtSLqQNC0vffv23eb1JUuWsPPOO9O/f38qplZuMyKClStXsmTJEgYMGNDwG8zM6lFUl9HvImJZXp5Pmuq3a37ePe+3rrJtRMSUiKiKiKpevba9curNN9+kZ8+ebTIMACTRs2fPNt1CMrOmUVQgfFfSQXn++U+Q5n8fnl87iDSX/YI6yt6WlhoGGzZsaHilRmipx29mO5aiAuFfge+SpjmeS/qhksGSvgmMA+4jTVNcu6zFGz9+PD/+8Y+3Kd+0aRMAw4cPZ/369PsiRx555JbXKicZnD59OpMnT+baa68F4NJLL+WJJ57AzKxIhYwhRMTvSVcabZGvIjqB9OMkf66v7J3qP+7BptjMFov/44QG17n66qv55S9/iSQWLVrEI488wi233ML69eu55JJLOPLIIxkzZgydO3dm4cKFnHLKKQA8//zznHjiiWzYsIEpU6bQp08fVqxYweuvv051dTXr16/n5ZdfZt68edxwww0AbN68mXbtfPuItXLXvLvsGhTnmjVl16BezXancp63/b8bKmuJJk7c+hO611xzDcOGDePYY4/9h3VuvfVW9ttvP6688kquv/56OnTowFVXXcW4cePYZZddAFi6dCmXX345y5YtY+PGjfTr149Zs2axbNkyDj/8cF588UWuu+46zjvvvGY9PjNrG1rU1BU7opquoA4d6v4oN2zYQIcOHXjmmWc45phjGDt2LB07dmTz5s3MmTOH973vfSxatIgJEybQvXt3jj/+eLp168a6detYvXo1s2bNYuLEiQwdOpRvf/vbDgMzK4wD4R166KGHmDRpEpJYvXo1Tz/9NF27duWII44A0n0St912G3fccQfnnXceXbp04bTTTmPVqlUsXLiQe+65h7Vr13LuuecyYMAAZs6cyXHHHcftt9/OkCFDGDRoEM888ww9e/Zk0KBBJR+tmbVmDoR36KSTTuKkk05i06ZNjBo1ipNPPpk1a9Zw2mmncf75529Zb/r06Vx00UVblhcsWMCJJ57Iww8/TLt27bZcKTRhwgTOOecc9tlnH5YsWcIDDzzA6NGj2bhxI2PHji3lGM2sbfDoZBNYt24dp556KqeeeiqDBw/myiuvZNasWdxwww1UV1fz/PPPc8YZZ3Dttdeyfv16OnTowB133MFFF13E5MmTtwTC1KlT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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c2410358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看看各乘客等级的获救情况\n",
    "fig = plt.figure()\n",
    "fig.set(alpha=0.2)  # 设定图表颜色alpha参数\n",
    "\n",
    "Survived_0 = data_train.Pclass[data_train.Survived == 0].value_counts()\n",
    "Survived_1 = data_train.Pclass[data_train.Survived == 1].value_counts()\n",
    "df=pd.DataFrame({u'获救':Survived_1, u'未获救':Survived_0})\n",
    "df.plot(kind='bar', stacked=True)#化成两层\n",
    "plt.title(u\"各乘客等级的获救情况\")\n",
    "plt.xlabel(u\"乘客等级\") \n",
    "plt.ylabel(u\"人数\") \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x212c24c2240>]"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c2082cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.arange(3)+1,np.array(Survived_1/Survived_0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAERCAYAAAB7FtAjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAG6dJREFUeJzt3Xu8VXWd//HXB+QmmCLiBQnBvI1Z3jAlsTAlNSsvlRY15qhpOWSZ3bXS0enCz8wmK7Vx1F9mZZlpXsoxI03RAlPTGtMKE7JCQBxMUeEzf3y/J3eHcwD1rLMP8Ho+Hvvh2t+19lrfvQ+u9/p+v+sSmYkkSf3aXQFJUt9gIEiSAANBklQZCJIkwECQJFUGgtRDIiK6KFvnOa5j3a7WI/UGA0GNi4iBEXHQynZ0EdEvIgZFxKYRsUNEvC4ipkbEeRHxhZV89qSIOHsF84dExM8jYmyn8gsiYq9uPrNvRLx4RdvtZI+I+O9OZT+NiF1WUK9tI+LnLUX3AsNXsPz0iBgfEYfU93tExJXdLHtXRGwREUMjYnT9Xb9cf6tNI2JMR2A91+DSmsl/BOoNbwCOyswud1xQdozAtcBjwP8CGwF/AH4IXAXMjojIzIyIfpQdZ2vAvAgYHhH7d1r1/sCDwFnA5sAPI+JvwBLgB8BhwHYRsSGwCPhWZp5dt3Em8LaImAScXbfxJ2AA0C8zd+u0rZcBt7R8pw3q9/hlF993BpB1XdtGxM/qrE2Aq+v2l2Tmqzt99ClgGfCViLgZmAj8T+f1V4/V5f8JeBfwNPAKYFtgHDAIOBn4a/1dvpyZV0TE14B9gAUt69oWOCgzb+xmW1oDGAhqVD3yPA14cUTMrMX9ge2BCZl5R935/T4zX9LyuanA4sy8qKVsQEQszcxlEbFtZvarrY5vAmdmZsf6O5a/k9IK/ifKjnl74JXAi4FngPHA1sBfgGuAkzOzY+f9L5TAeJyyo98PuCAzXx8RrwPe3GlbPwB2A56IiIOBMygBsgFwf20cbZqZwwAyc0L93DjgPzLzDfX9rcDrMvPRTuvvqPOA+vt9khKIBwKfrsv0pwTV0xFxHrCUssO/DtidEhAbA+sBg4E/ZeZf6yY+BVxZf7OngU9m5iUt259ey7UGMxDUtGnA9cDLgY8AdwLfAC7KzDvqMtsBF0ZE6w5nM2BpRBzTUjYQeEdEPAAcX8tOBg4HtomIZbUsgSOAjwOPZOZjEfFW4OfA4jp/LGUHuz0lNNajtEiIiPF1vR8FzqG0UgZQjrYB9q7fqdVLgO0y89GIOKOu753AqzLzvrre33UsHBFvBPYE7gN+3LKe+4GNIuI9mfmZlvKzgSHAS4HP1bokJYS+FBEd3UwnRMSN9XstBWbX+r6XskM/DphDCcB+EbFVZj6QmbdExMn1M8vomrc1WMMZCGpMRGxP6Zo4DBgFXEHZGc3MzC92LJeZv46IifXI9lLgE8ABlJ03wAjgd8BTmfnbuu7z6o53KnARcCxlR/Zt4KHM/A3wm5ZtLAV2banbqcCjmdnVuMPjwPeAyZQd+1cpO/xBdf7ewOsiYrfMPKmWdd6JvrpstoRBF8v8EDiV0p22c0v5ZOAYYLeI2DMzO7qgLgGupHSrvRvYBXgNcFVmTomI04HbMvOaiNgbuJsSHpdQWgeHUXb2i+p3eislCH8GPFB/o/Pqb9O/i98EHHNc4xkIakxm/ho4JCI2oxzFLwGGAeNqX/+tmflYXfy2iHiK0oXz8U6rmgr8N9B6xLw5z3b5vJty9P8QZYd3UuuHI+JTwGv5xy6P0cAzdXC24+h/CHBpZn4xIk6jdLW8rY5bjAUmR8SYzBwfEUdRuqG683PgPyPigsw8upYtq/UZQTlCPxt4H7B7RJxT67ARMIPSLXQGJXwADqGEK8DRtXwkZUwDYCvgv+r0AOBHlEAgM6+MiCn1N2v15cy8rOV3GkZpmf0JOCMiplHGc0ZQWhpPruD7ak2Qmb589fiLMgh5OvATys7vbcCAOm93ys7wTmoXCbAlpVvjwTr9I8pR+pGUvn2AbwGbdNrOlpRuqT9TBkevpBz9jlnFeo4FHmh5H8CGlCPna4AvU47a3wPcAFxSl/s+sHPL5+4BflW/05+BI2v5bcB+dfq+luWHUloHD1N28IOAMZRumfF1mUEtyw+nDJDfBzxC6RLrD/yUMlbxSyA6fbfplHELKAPPr6YMQk+kDLK/t9PynwLOqdMfBt4P7Evp3mv7vylfzb9sIagpj1C6Lb4FzKQcnX6k5czTMZSQ+BmlK+I/gcuAqyktgZdRznI5BBhUz8L5n8z8S0TsSekLH0856v4WsANl0PRQSmvkvIgYBLw/M8+tp6ROYPmB0UHA5hFxO/BwZh4cEUspO9hZwK8pZzS9r77OiojjgdH57AB0h73y2TGEDp8HjoiIn1K7wDrqRTnj5+OUnfaSiDgCuBz4ADAlM5fU5aP+Du+ntOqnUFoDD1CC6Rzg/sxcUR//M8COPNttNRr4fcfMiBhF6XbbqRZtTwlXrUUMBDUiM+cD34mITSlHxju1zo+ISyhjAo/XotdExEaU0x0fowycLqIMRu8CHJ+Zd9dlH6F0YZxPGZA9uL46rEdpmZwB/LHW5/21b/x7wLuynl1Tu4JuyMzdWz6/DiWodqcEz0/qOu6NiBMprYEpq/hTXEE5bXaD+r2gtA4WU3byHwIeiYitKAG5O3BZRLwrM79Wl9+XclbTJOBS4Ld1+yPq9zmL0spYmcNapjcDbmp5/wXgC5k5LyI2prSKjqeclQX8/bd6uCOotAZqdxPF15r9ovRz39lF+SXApDq9IWUg+R7g7bXsBMq1CwBvpHR53Ahs2bKODYDZXax7EvCNbupzDPDFOj0CeD3wm07LjAO+QjmlcydKS+cl9XUbZZD518ArWz5zH//YZfSuWt6PcornO4Gvdar7WygD3/vV/05q+c1mUkKxfy1bB9iC0mrZvJbtDtxF6TJ7EHh9p+9xKzCqTt8LrNMy7zhgap1+ea3/QMppqTOBE+q8fYBv1ulzgI+2+9+Ur+Zeba+ArzX7RTkSfaLuKFtfC4DJdZlBlLGCdVs+9yHg3S3vo3UHXMs2pgx0/qzT61fAD7qpT1DO1YfSBXML8M4V1P+dlK6dE2oYTKzlu1PGP3au74+h9vlTuma2afn+36P0yb+oZb2TgC9RxkCOAN7YabsvAt7c8r4/pWVwXQ2ZnSmD6AfW+TvVnfqrWz5zG7BFnb6/IxCAdWtA7N2y7LqUgff5wMdaykdRwvgOSghu0e5/U76ae0X9o0uNqBedDc/ShdTT6w5gSGb+rafX3cW2BmbmU53KBmRm2y7WioghmflET9Wnjm1slpmze6J+Wv0YCJIkwAtNJEmVgSBJAgwESVK1Wl2HsNFGG+XYsWPbXQ1JWm3MmjXrkcwcuSrLrlaBMHbsWGbOnLnyBSVJAETEg6u6rF1GkiSgoUCIiHUi4o9RHvc3PSJeFhGnRcQvIuLLLcstVyZJao+mWggvp1zuPikzJ1EuiZ9IueLzr1GeVbtr57KG6iJJWgVNjSHsAby+PqjjV5RL6i/PzIyIH1EefrKoi7IbGqqPJK2yp59+mjlz5vDkk6vPIyAGDx7M6NGjGTBgwPNeR1OB8Atg38x8OCL+P+XBIx1PjlpAeZD4M5SnYLWWLScijqXclpcxY8Y0VF1JetacOXNYb731GDt2LC23bO+zMpP58+czZ84cxo0bt/IPdKOpLqO7M/PhOj2TcqvfIfX9sLrdrsqWk5nnZ+b4zBw/cuQqnTklSS/Ik08+yYgRI1aLMACICEaMGPGCWzRNBcLXI2LHev/5gyn3f59Y5+1IuZf9rC7KJKlPWF3CoENP1LepQPg34OuU2xzPoDyoZOeI+CLwUeCblNsUdy6TJLW4++672XvvvVe+YA9oZAwhM++hnGn0d/UsogMpDyf5Q3dlfcap67e7Bs06dVG7ayCtNsZ+9JoeXd/szx64ysteffXVHHXUUT26/e702pXK9b7t311ZmSSp2HfffbnrrrvYdtttufjii1m2bBnLli2jX79+nH766ey55549ur3V6tYVkrQ2ufDCCznuuOO49tprAZg2bRrrr78+xx13XCPb89YVktRHnXvuuUydOvXv76+99loOPvjgxrZnC0GS+qjhw4fz2c9+lnvvvZftttuOLbfckk026fKSrR5hC0GS+qgPfvCD3HjjjSxbtoxDDjmEJUuWMHfu3Ma2ZwtBkvqoGTNmcMUVV3DnnXdy55138tBDD3HooYey55578ulPf5rBgwf36PYMBElaiedymmhPuvzyyznooIOYNm0aADvssAOvfe1r+fa3v93jYQAGgiT1WWeeeeZyZf3792fKlCmNbM8xBEkSYCBIkioDQZIEGAiSpMpBZUnqo3bddVeGDx/Oww8/zJIlSxg7diwLFy5kt91249xzz+3x7RkIkrQyPX3341W82/DnP/95Jk2axEUXXcScOXM45ZRTmD59Ot/9bjP3BDUQJKmPOumkk/6hhTB9+nQWLlzIhAkTGtmegSBJfdTRRx/NLrvswjXXXMO8efM48sgjueOOO7jnnnsa2Z6BIEl91DbbbMPixYu5/fbbOfLII1m8eDHbbLNNY09QMxAkqY8644wzAJg5cyaPP/44AwYMAGDIkCFcd911Pb49A0GS+qjp06ezYMECDjzwQG655Za/l7/0pS9tZHtehyBJfdRDDz3ElClT+MAHPvD3srlz5zJq1KhGtmcLQZJWZhVPE+1pU6dO5UMf+hD77LMPUFoM73vf+zjxxBMb2Z6BIEl91JVXXvkP7/faay9+8YtfMHDgwEa2ZyBI0mqif//+9O/fv7H1O4YgSV3IzHZX4TnpifoaCJLUyeDBg5k/f/5qEwqZyfz581/wU9TsMpKkTkaPHs2cOXOYN29eu6uyygYPHszo0aNf0DoMBEnqZMCAAYwbN67d1eh1dhlJkgADQZJUGQiSJMBAkCRVBoIkCTAQJEmVgSBJAhoOhIjYJCJ+WacviIgZEXFKy/zlyiRJ7dF0C+FMYEhEHAr0z8wJwJYRsXVXZQ3XRZK0Ao0FQkS8Bngc+DMwCbiszroemNhNmSSpTRoJhIgYCHwC+GgtGgrMrdMLgE26KetqXcdGxMyImLk63VdEklY3TbUQPgp8JTMfre8XA0Pq9LC63a7KlpOZ52fm+MwcP3LkyIaqK0lqKhD2Bf41IqYDOwFv4NkuoR2B2cCsLsokSW3SyN1OM/NVHdM1FN4I3BwRo4ADgD2A7KJMktQmjV+HkJmTMvMxyiDybcDembmoq7Km6yJJ6l6vPQ8hMxfy7FlF3ZZJktrDK5UlSYCBIEmqDARJEmAgSJIqA0GSBBgIkqTKQJAkAQaCJKkyECRJgIEgSaoMBEkSYCBIkioDQZIEGAiSpMpAkCQBBoIkqTIQJElALz4xbXUz9slL212FRs1udwUk9Tm2ECRJgIEgSaoMBEkSYCBIkioDQZIEGAiSpMpAkCQBBoIkqTIQJEmAgSBJqgwESRJgIEiSKgNBkgQYCJKkykCQJAENBkJEbBgRkyNio6a2IUnqOY0EQkQMB64GXgH8JCJGRsQFETEjIk5pWW65MklSezTVQng58IHM/HfgR8BrgP6ZOQHYMiK2johDO5c1VBdJ0ipo5BGamflTgIh4FaWVsCFwWZ19PTAR2LmLsvs7rysijgWOBRgzZkwT1ZUk0ewYQgCHAwuBBObWWQuATYChXZQtJzPPz8zxmTl+5MiRTVVXktZ6jQVCFv8K3A28EhhSZw2r213cRZkkqU2aGlT+SEQcUd9uAHyW0iUEsCMwG5jVRZkkqU0aGUMAzgcui4hjgHuA7wM3RcQo4ABgD0o30s2dyiRJbdLUoPJCYHJrWURMqmXTMnNRd2WSpPZoqoWwnBoSl62sTJLUHg7kSpIAA0GSVBkIkiRgFQIhivHdzBvX81WSJLXDqrYQroyIsyJiakTsBhARuwKXNlc1SVJvWuFZRhERmZkR8QBwHrAFcEBEnAcsAd7SC3WUJPWClZ12el1ELAbWB7YCdgXGA1cBLwVGAnMaraEkqVesLBDeTGkVTAX+DXgYOCgzl0bEWOC/ImKfzMxGaylJatzKAuF4YGvgEcpN6s4G/hAR3wB2AD5iGEjSmmFlg8ovotxz6JXAQEqA3AXcCYwF7m2ycpKk3rOyQLgB+APlYTb3AYdQ7ky6PzAN+HijtZMk9ZqVBcLewFPAOcC2wNeBB4DbMvPrwEsiwovbJGkNsMIxhMz8VEQMpZxltLQuf0pm3hoRI4H/yMxlvVBPSVLDVnq308x8HHi8pajjsZdnUrqTZjRQL0lSL3tet7+OiBMo1yW8q2erI0lql+cUCBGxEfA5YENg/8x8qpFaSZJ6XbeBUAeLjwQWA+sBuwObA+dl5lW9UjtJUq9ZUQthIPAS4BlgGPBiYANg8457HPVC/SRJvaTbQMjMJ4GTW8si4kXACcDNEfGmzPxLw/WTJPWS53QNQWY+lplnAB+m3Phug2aqJUnqbc/rorLMvJVypfJXerY6kqR2eV6nnQJk5rci4pc9WRlJUvu8oNtOZOZ9PVURSVJ7eR8iSRJgIEiSKgNBkgQYCJKkykCQJAEGgiSpet7XIUh92qnrt7sGzTp1UbtroDWQLQRJEmAgSJIqA0GSBDQUCBGxfkRcFxHXR8QVETEwIi6IiBkRcUrLcsuVSZLao6kWwtuBszLztcCfgbcC/TNzArBlRGwdEYd2LmuoLpKkVdDIWUaZ2Xpb7JHAO4Cz6/vrgYnAzsBlncrub6I+kqSVa3QMISImAMOBh4C5tXgBsAkwtIuyrtZxbETMjIiZ8+bNa7K6krRWaywQImJD4EvAUcBiYEidNaxut6uy5WTm+Zk5PjPHjxw5sqnqStJar6lB5YHAd4CPZeaDwCxKlxDAjsDsbsokSW3S1JXKRwO7ACdHxMnAhcA/R8Qo4ABgDyCBmzuVSZLapKlB5a8CX20ti4irgMnAtMxcVMsmdS6TJLVHr93LKDMX8uxZRd2WSZLaw5vbSep71uSbE/bhGxN66wpJEmAgSJIqA0GSBBgIkqTKQJAkAQaCJKkyECRJgIEgSaoMBEkSYCBIkioDQZIEGAiSpMpAkCQBBoIkqTIQJEmAgSBJqgwESRJgIEiSKgNBkgQYCJKkykCQJAEGgiSpMhAkSYCBIEmqDARJEmAgSJKqddpdAakJY5+8tN1VaNTsdldAayRbCJIkwECQJFUGgiQJMBAkSZWDypL6nDX5pIDZ7a7ACjTWQoiITSLi5jo9ICJ+EBG3RMRR3ZVJktqnkUCIiOHAxcDQWvReYFZm7gm8OSLW66ZMktQmTbUQlgKHA4/V95OAy+r0TcD4bsokSW3SSCBk5mOZuailaCgwt04vADbppmw5EXFsRMyMiJnz5s1rorqSJHrvLKPFwJA6Paxut6uy5WTm+Zk5PjPHjxw5svGKStLaqrcCYRYwsU7vSBlo76pMktQmvXXa6cXAtRGxF7A9cDulu6hzmSSpTRptIWTmpPrfB4HJwC3Avpm5tKuyJusiSVqxXrswLTP/xLNnFXVbJklqD29dIUkCDARJUmUgSJIAA0GSVBkIkiTAQJAkVQaCJAkwECRJlYEgSQIMBElSZSBIkgADQZJUGQiSJMBAkCRVBoIkCTAQJEmVgSBJAgwESVJlIEiSAANBklQZCJIkwECQJFUGgiQJMBAkSZWBIEkCDARJUmUgSJIAA0GSVBkIkiTAQJAkVQaCJAkwECRJlYEgSQL6QCBExAURMSMiTml3XSRpbdbWQIiIQ4H+mTkB2DIitm5nfSRpbdbuFsIk4LI6fT0wsX1VkaS12zpt3v5QYG6dXgDs0nmBiDgWOLa+XRwR9/VS3XrbRsAjvbWx+FxvbWmt4d9v9dZrf782/O22WNUF2x0Ii4EhdXoYXbRYMvN84PzerFQ7RMTMzBzf7nro+fHvt3rz71e0u8toFs92E+0IzG5fVSRp7dbuFsL3gZsjYhRwALBHm+sjSWuttrYQMvMxysDybcDembmonfVpszW+W2wN599v9ebfD4jMbHcdJEl9QLvHECRJfYSBIEkCDIS2iYgRETE5IoZFxKCIeEtETG53vaQ1XUSsExGvj4hXdCp/S7vq1Fc4htAGETEC+AnwI2A3YCHwK2ADoF9mTm1j9aQ1WkRcDvwFGEn5f+5fMnNORNyYma9pb+3aq92nna6tdga+mZmfiYhXAYdl5icBImJ6W2umVRIRNwHrAo+1FgO5tu9UVgNDM/N4gIiYAHwvIj7W5jr1CQZCe8wCTouIH2fmTcBNABHxz8BTba2ZVtVbgIuAw+vp01p9LIuIfTLzx5k5IyL2p9xTbcd2V6zdHENog8xcCBwIDO40azPgsN6vkZ6rzPwL8DZgWbvroufsrcA2HW8ycwHlwtiT21ajPsIxBEkSYAtBklQZCJIkwECQVllEbNXdU/0iYlQ9KaC17JiI6N/FsmObqaH0wjiGoLVWRIwHXk45fXQE8GJgQ2A48E7gGWBKy0d2A0YBV7aUfTczZ0fE/wMOBR6iHGidQ7lh2s8op6P+ODPPioiNKGe0TKZci/IM5cyydYDTMvPmZr6ttHK2ELRWqkfuC4HfAbcCjwI3ZOahmbk35Ul+mwH7AjOB0ZTThT9R38+kPOFvXERMBMZTAmMIcDjlbLFXUHb6NwLn1U2/F/h4nb8f8NfM3B/4Kz4PRG1mC0FrpYjYF/gwMLC+Op7ctwyYX6f/HdgYuAu4Hfg9JUSgtBLuAR4E/gzsSmltbApsRTnyv4VyNeyczLwwInat6/wicBLwBuC8zDwiIqZn5qSmvq+0KrwwTWurmcC3KeejzwX+VMsPpxzRb5GZP61Xkl8F/JxyZL8E+BJwSb2eBICI+BXlueBL6zqeAqZT/h97uC7WjxIun6Ncw7AuMDAiNgFeFhFXA2/MTK9tUFsYCFpbPQ38EXgZpVWwcf3vUso4wKyI2Ixyz5sDKeMAPwGGAm/tFAanARN49iK1kXV6PyCBpfWq9M/U+1gtysx7a4vhQEo30saU8QjDQG1jl5HWShGxHXAx8BtK//07gCcpR/VbUgaXj6dcwbo9ZQf/DeAR4O2U8YMngK9l5tcjYhDwVLb8DxUR76eMTXwjM5+OiG0p4xA3AHdQupv2pHQvfR/YOTM/1+w3l7pnIGitVQeWtwe+StkhP065rcHpmXlDROwFbEE5+t+DZ8cPoIwZ7AH8LTMfiohLKGcgJaX1Qf3sUkrgTAb6A2MoYbMZ8B7KWUzTKAGzX2bOa+wLSythl5HWSvX0zxMpd549nHKkDvAm4LyI+AhwUmZeEhE71OnpLZ+fDvy2o0WQme+IiMOASS130jwRWJiZF9X3rwA+DfyYEhbTKa2SoZQWyHaAgaC2MRC0thoE3JWZJwPULp/MzEeAN0XEbsAf6rIDgLMj4tGWz+8EDAP+t6MgMy+LiCfq+o4DjgGOa5k/A9g7IoZTzjKaBVwNnArcDVwSEZtm5nca+L7SStllJK1ERKwDLHsuA74RsSHwRGY+8VzWGxH9M3PpC6qw9DwZCJIkwCuVJUmVgSBJAgwESVJlIEiSAANBklT9H3fQe6Cy4QTdAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c2427b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#性别和仓位关系的统计\n",
    "Survived_0 = data_train.Pclass[data_train.Sex == 'male'].value_counts()\n",
    "Survived_1 = data_train.Pclass[data_train.Sex == 'female'].value_counts()\n",
    "df=pd.DataFrame({u'男':Survived_1, u'女':Survived_0})\n",
    "df.plot(kind='bar', stacked=True)#化成两层\n",
    "plt.title(u\"各乘客等级的获救情况\")\n",
    "plt.xlabel(u\"乘客等级\") \n",
    "plt.ylabel(u\"人数\") \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8771940>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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yBCuuuoqnnzySQ466CD2228/hg8fDsAHPvABlixZAlR3eZ41axannHLK5oBobm5m+vTp3V6TQ0aS1AAf/ehHmTlzJm1tbUycOJHW1laWLl1ac9nJkydz//33bx4yqkcYgD0ESepxra2tzJ8/n7vuuosFCxawYMECFi9ezKRJkzjmmGP44he/SGZu/mlra6OpqWnz+m1tbQD069e9n+kNBEl91o6eJtpdrrjiCtra2njXu97F1VdfDcAhhxzCySefzO23305LSwutra20trby+OOPM3XqVJqbq8P1GWecQVtbG1OnTuWUU07p1rqi1hVyvdWYMWOy139jmtchdC+vQ1A3+sUvfsHBBx/c6DLqptb+RcS8zByzPes7hyBJAgwESVJhIEiSAANBklQYCJLUCzXi9teediqp7+ruswK386y4c889l5/97GcMGTKE5557jtbWVkaNGsXKlSs54ogjuP7663n66ae54ooruO2223j22WcZPHgwkyZN4vvf/z577bVX99Zd2EOQpB7W0tLCNddcw4wZM7j00kuZPHkyM2bM4Jprrtl8vUHn218vXLhw17z9dUQ0A78tPwAXAO8G3gH8NDPPK8v9z85tktQXTJ069UU9hFmzZrFy5UqOPvpo5syZw7Rp03r89tf1GjJ6E3BbZn4cICIOB8YCRwKfjogTgZWd2zJzRp3qkaReY+PGjXzoQx/isMMO495772XZsmVMnjyZ+fPn88QTT/DLX/6S4cOH89xzz21e5oEHHuD000/nzjvv3Nx76G71GjI6Cjg9In4aETcBJwD/mtVl0T8C/gJ4e422LUTElIiYGxFzly1bVqdyJannnHfeeYwePZq1a9fyk5/8hGOPPZa1a9cyevRoLrjggs23vwaYMGECF1988Ra3v66HevUQfgacmJnPRcS/AAOBp8prK4DhwEbgPzq1bSEzbwRuhOrWFXWqV5J6xKpVq5gyZcrmm9XNnTuXdevW0b9/fwAGDhzIfffd15DbX9crEB7PzNbyeC7QnyoUAAZT9UzW1miTpN3a3nvvzYMPPkhzczMrVqxg/PjxzJ49e/Prb3zjG7dYZ/LkyUyePLnuQ0b1CoTvRMQXgCeAM4BZVPMF3wMOBRYB84D3dGqTpJ7ToJsnNjc3s3jxYs455xwuueSSze1Lly5lxIgRALvV7a8/C9wKBDAN+DzwcET8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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b84cc860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看看各性别的获救情况\n",
    "fig = plt.figure()\n",
    "fig.set(alpha=0.2)  # 设定图表颜色alpha参数\n",
    "\n",
    "Survived_m = data_train.Survived[data_train.Sex == 'male'].value_counts()\n",
    "Survived_f = data_train.Survived[data_train.Sex == 'female'].value_counts()\n",
    "df=pd.DataFrame({u'男性':Survived_m, u'女性':Survived_f})\n",
    "df.plot(kind='bar', stacked=True)\n",
    "plt.title(u\"按性别看获救情况\")\n",
    "plt.xlabel(u\"性别\") \n",
    "plt.ylabel(u\"人数\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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YAwwu07rlSRJkiSV1vhC3uUFRnfIzHNaLb4AuDYi9gZ2AO6sU/0kSZIkSaWaA1xmNpX//g74XZvnHo2IAyhG4b6emcvrWUnVZtmyZcydO5eXXnqpp6vSpw0ZMoTNN9+cQYMG9XRV1EPsa93Dvta/2c+6h/2sf7OfdY9697M1HoHrSGY+DlxSr/Vpzc2dO5f11luPLbfcsrNJZ9RFmcmCBQuYO3cuW221VU9XRz3EvtZ49jXZzxrPfib7WeM1op852Ugf8tJLLzFs2DA7YANFBMOGDfOXqn7OvtZ49jXZzxrPfib7WeM1op8Z4PoYO2Dj2cYCt4PuYBvLbaDxbGO5DTRevdvYACdJkiRJFVG3c+DU+yzb+qt1Xd+gh05bo/IrVqzglltuoamp6RW/PCxfvpwXX3yR9dZb71XVadGiRay99tq85jWvaff52bNns+WWW67xepcvX86AAQNeVd2k7tDIfnbllVey//77v6J/LVu2bJUTse1n6g6XPfhEXdc3YdtN67Yu92lS47lPW8kAp4Z54IEHOPXUU9l3331f8dwjjzzCSSedxC9+8Qsef/xxhg4dyoQJE7jssst47Wtf+4ryS5cu5Re/+AXjx4/nH//4R8t/VL/zne8wZswYxo8fDxT/md1uu+3YaKONePrppznqqKO48cYb2XfffRk4cCCDBw/m5Zdf5uSTT2bvvfcGipNLd911V+69996W9/vYxz7GXnvtxTHHHNOIplFfc8uM+q7v38bWXLQR/exjH/sYy5cvZ8qUKWyzzTbccMMNzJ8/n0ceeYTHHnuMww8/nE9+8pMA9jP1eccccwx33303G264IU888QRLlixhyy23ZNGiRey+++786Ec/cp+mPuMd37ymruu7/qSDairXyH7WF/dpHkKphrn66qs56qij2n1uyJAhADz++ON8//vf5/7772fIkCEMHjy43fI/+9nP2HfffVmwYAH33HMP9913H/fddx/veMc72GSTTVoe33vvvSxevBiAs88+m9NOO41LLrmE66+/no033pjf/OY3bLzxxqv8sjJq1CiGDBnCzjvvzG9/+1sWLlzI008/zeWXX86KFSvq2yhSnTWinwFcc8017LPPPtx3330sWrSIj3/84yxcuJBbbrmlZUcH9jP1fUOGDOGMM87gpptu4vjjj+fII4/kpptu4owzzmDgwIEtZcB9mtRVjexn0Pf2aY7Aqa7uuecevvCFLzBw4EDuv/9+tt12Wy644AJWrFjBihUrWGuttfjmN7/J1VdfzXPPPceXvvQlFi5cyMyZM7n//vs55JBDeOGFF7j55ptbOuQLL7zAggULGDlyJAA77LADu+yyCxtssEHL+y5btoxRo0Zx4YUXAjBz5kzuvPNO9txzT6ZNm8Zhhx3Wsr7HH3+cN7zhDS2v3XHHHTnggANYtmwZAwYM4MQTT+TEE0/kgQce4Pjjj+eMM87oruaTatId/ezMM8+kqamJgQMHssUWWzBq1CjWWmvV3/zsZ+ovjjvuuFVGBqZPn86iRYsYN24cd9xxB1deeaX7NOlVamQ/62v7NEfgVFe77ror06dP56c//Sm77747v//977npppsYP348RxxxBL/73e/4+9//zogRI3jd617HHnvswfLly7nxxhvZY489uPLKK7n99ttX+TVl2rRprxhh2G233Rg/fvwqt2222abl+RUrVjBmzBi+/OUv873vfY8XX3yRpUuX8s9//pM///nPHHzwwav8QrL++uuzcOFCLrjgAp555hkAdtppJ2bPns0555zT4FaT1kyj+9kVV1yxyo7tjDPOYPz48dx1112MHz+effbZh7lz59rP1C+8/PLLTJo0iSlTpjBhwgT2339/pkyZwqRJk1ixYgV/+9vf3KdJr1Ij+1lf3KfVNAIXERsBuwH3ZubTDa2R+oQf/ehHfOYzn2l5fO211/KrX/0KgMGDB7Pbbrtx3333ccghh7DNNtuQmS1lly5d2tIJFy9ezNKlSxkxYkTL40MPPRSAhx9++BXv+9vf/pbLLruM3XffnQULFrD++uuz4447MnPmTK655hrOPvtsnnrqKSZOnMhaa63FN77xDe68805eeukl5syZw1lnncUll1zCzJkzeeaZZ9hhhx341Kc+1bB2kl6NRvWz7bbbjuOOO467774bKH4VPfLII5k4cSL//d//3XIC+Oabb24/U5/36U9/mnnz5vH8889z5513cuSRR/L888+zzTbbsO+++3LPPfe4T5NepUb2s764T+s0wEXEhsDVwDXAmRHxduDbwA7ANZk5pSw3re0y9V8bbrgh3/72t/nLX/7Cdtttx6hRo1o60oc+9CHmzp0LwJZbbsn06dN5xzve0dIpBw4cyLXXXgvA+eefz6RJk1rWu2LFCjbYYAOuuOIKrrrqKpYvXw4U19c49NBDmThxIhHBgw8+yMSJE9l///059dRT2WKLLTjiiCM4+eSTOeyww9hzzz0BOPnkk7n77rs5+uijeeihh1o68aRJk3j44Ydf8auN1Js0qp9tt912PP30qr/VZSbbb789DzzwAHvssQeA/Ux93uLFi5k8eXLLzHIzZszghRdeaJmxbp111uG6665znya9Co3uZ31xn1bLCNybgC9k5h/LMPd2YEBmjouIn0TE1sDObZdl5kONrLg6t6bT/tfTF7/4RT73uc9xxhln8J73vIcPfOADzJs3j9e//vWvKHvkkUdy5JFHcvDBB3PppZe2nKQ6f/58Bg0axIYbbthStvU06T/4wQ844YQTAPjKV77S8itmRLDVVltx3333sXDhQp544gnOPfdcfv7zn/OlL32JE044geuvvx6A5557jte85jVcfPHFjB49umXdDzzwAJ///Oc5/fTT6984Up00qp+1NXfuXI4++mg++MEPctlll7HTTjuRmfYzdat6Tvtfq/XXX5+bb76ZgQMHsnDhQg466CBuv/32lud33HHHV7zGfZq0Zhrdz9rqC/u0TgNcZt4CEBH7AHsAGwGXlE/fAOwFvLmdZasEuIiYDBwPbDB8+PB61F291JIlS7jnnnu4/PLLW2bSeuyxx5gwYQJve9vbOO2008jMltuKFStWuW5G8/HFP/7xjzn22GNXWXfr4fIlS5ZwyimnALS8vvn5mTNn8tWvfpX99tuPRx99lKamJoYMGcILL7zAWmutxd/+9jeGDx/OAw88wLbbbstxxx3HeeedR0QQEWyzzTbccccd/PKXv+SXv/wlhx9+eCObrK6mTp3K6aefzuLFi19xXTA1yBpM+18vjexnzc9nJvPnz+eiiy5iwoQJvPWtb+WUU07h/PPP57nnnmO//fazn9nP+ryBAwfy2GOPcfTRR/OFL3yhZfm8efPYbLPNANynNUh39bN6T53fXWqdor+n11mLRvaz5uf70j6t1nPgAvgAsAhIYF751EJgV2DddpatIjOnAlMBxo4dm22fV99x0kknsWLFCg499NCWXyF22mknDjzwQH71q18xZMgQlixZwpIlS/jTn/7Ecccd1zJF7GGHHcaKFSs47rjjmDRpEkOHDl1l3c2HlwDcfPPNqzx38cUX8+ijj7Leeusxbtw4br75ZhYt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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8be2be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#然后我们再来看看各种舱级别情况下各性别的获救情况\n",
    "fig=plt.figure(figsize=(15,7))\n",
    "fig.set(alpha=0.65) # 设置图像透明度，无所谓\n",
    "plt.title(u\"根据舱等级和性别的获救情况\")\n",
    "\n",
    "ax1=fig.add_subplot(141)\n",
    "data_train.Survived[data_train.Sex == 'female'][data_train.Pclass != 3].value_counts().plot(kind='bar', label=\"female highclass\", color='#FA2479')\n",
    "ax1.set_xticklabels([u\"获救\", u\"未获救\"], rotation=0)\n",
    "ax1.legend([u\"女性/高级舱\"], loc='best')\n",
    "\n",
    "ax2=fig.add_subplot(142, sharey=ax1)\n",
    "data_train.Survived[data_train.Sex == 'female'][data_train.Pclass == 3].value_counts().plot(kind='bar', label='female, low class', color='pink')\n",
    "ax2.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0)\n",
    "plt.legend([u\"女性/低级舱\"], loc='best')\n",
    "\n",
    "ax3=fig.add_subplot(143, sharey=ax1)\n",
    "data_train.Survived[data_train.Sex == 'male'][data_train.Pclass != 3].value_counts().plot(kind='bar', label='male, high class',color='lightblue')\n",
    "ax3.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0)\n",
    "plt.legend([u\"男性/高级舱\"], loc='best')\n",
    "\n",
    "ax4=fig.add_subplot(144, sharey=ax1)\n",
    "data_train.Survived[data_train.Sex == 'male'][data_train.Pclass == 3].value_counts().plot(kind='bar', label='male low class', color='steelblue')\n",
    "ax4.set_xticklabels([u\"未获救\", u\"获救\"], rotation=0)\n",
    "plt.legend([u\"男性/低级舱\"], loc='best')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8ba0550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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omr/gzTw/QbwtqSepMuAvxvpyqI7gF9Kej8iHs+vaUYaYK7al6rPZjPSZzk8v98LeXsD+fiei2vy6jOAnkr3iLQmXZ1ljYTy/4Nm9aJ009ZWkbqQiqxHi4jYqG58yn33bUpCZKMiqU1EfFTy/DN9hnlsY7v4+M5ra+QcCGZmBvgqIzMzyxwIZmYGOBDMzCxrVFcZbb311tG1a9eiq2Fm1mhMnz59XkRU1mfdRhUIXbt2Zdq0aXWvaGZmAEiq9x3k7jIyMzPAgWBmZpkDwczMgEY2hmBmVpMVK1Ywe/Zsli5tuj/B0Lp1azp37kyLFi3qXrkWDgQza/Rmz57N5ptvTteuXcm/idGkRATz589n9uzZdOvWre4X1MJdRmbW6C1dupSOHTs2yTAAkETHjh0/cwvJgWBmm4TGHAbLl6/Pj/p90obYfweCmVkZXHjhhTz44INrla9cmX7jqV+/fixbln47aL/99luzrHTC0bvuuosxY8ZwySWXAPCDH/yAp556qmx19hhCbS7asugalNdFi4qugVnZdB3xwAbd3qxLv1av9UaOHMlzzz2HJGbOnMkjjzzCNddcw7JlyzjzzDPZb7/9OO6442jVqhUzZszg6KOPBuC1117jiCOOYPny5YwdO5bOnTszb948PvzwQ1atWsWyZct45513eOaZZ7jiiisAWL16Nc2abdhzegeCmdkGMnr06DWPL7roIvr06cOhhx76iXWuvfZadt55Z84991wuv/xyKioqOP/88xkxYgTt27cHYM6cOZx99tm8/fbbrFixgi5dujB58mTefvtt+vfvzxtvvMFll13GySefvEHr70AwM9sAqrqCKipqPqwuX76ciooKXnzxRQ455BCGDx9OixYtWL16NU888QS77bYbM2fOZNSoUbRr147DDz+ctm3bsmTJEhYuXMjkyZMZPXo0vXv35pZbbtngYQAOBDOzDeKhhx7iuuuuQxILFy7k2WefpU2bNgwYMABI90pcf/313HjjjZx88sm0bt2aY489lgULFjBjxgzGjx/P4sWLOemkk+jWrRuTJk3isMMO44YbbmCvvfaiR48evPjii3Ts2JEePXqUZR8cCGZmG8CgQYMYNGgQK1euZPDgwRx55JEsWrSIY489llNOOWXNenfddRenn376msfTp0/niCOO4OGHH6ZZs2ZrrhYaNWoUJ554Ijvu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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8bc6780>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "fig.set(alpha=0.2)  # 设定图表颜色alpha参数\n",
    "\n",
    "Survived_0 = data_train.Embarked[data_train.Survived == 0].value_counts()\n",
    "Survived_1 = data_train.Embarked[data_train.Survived == 1].value_counts()\n",
    "df=pd.DataFrame({u'获救':Survived_1, u'未获救':Survived_0})\n",
    "df.plot(kind='bar', stacked=True)\n",
    "plt.title(u\"各登录港口乘客的获救情况\")\n",
    "plt.xlabel(u\"登录港口\") \n",
    "plt.ylabel(u\"人数\") \n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8fc14a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEQCAYAAACwSgOGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xu4VVW9//H3BzY3wSuiacgl5JBpGrpVVFQ0KS+giRAc7aJhlIVmeCxMKknOqcy0vABSWKapD51MMK9HzUuKKaRp/ChFw4LUFAjF4ur398cYG5eLtdmLy2LuLZ/X8+yHtcYca64x197Mz5xjzDmWIgIzM7NWRTfAzMyaBweCmZkBDgQzM8scCGZmBjgQzMwscyDYVkWSim5DESRts7Vuu1XPgWBrSWol6QpJXfLzCyV9NT/eUdIPJbXdxPfoKemCkueHSrqkinbtX/L8TEnDy+pMlfTxKpowXdIX1/NeoyW1l3S/pA9KOl/SdpKukXTEptbfGPkzGreBr+kj6fGSojnAjuup/4Ckekkn5+f9JE1vpO4fJHWX1FFSV0nvkXS1pPPy426S6nLdug1ptxXLvyxbKyLekvQgcJekg4GVwOq8+DNAp4hY2VA/78iHAYvKVrUz8POIuLDC2/wN+LikaRHxPPAF4NdNNO1U4B8lzwcBt+U2tAXWAMuBlZJaA60iYlX5SiQNAvYGeku6KSIWV3ivOmAcabs7AiMi4nuSjga+uxnqI+leYFvg32WLOgBLI+IjZeXvB3ZrZF2tgDYRsSI/nwkE0AboI+m3uequwK9z/RURcWTZqlYCbwETJT0M9Af+VOk9gddz/b2AzwKrgIOAPkBPoB1wIel3dpekqyPiV5J+BHwYKP3c+wAnRcT9jbyXbUEOBANA0u6knTPAXOAioB/wlqTOpP/4t0maAMyIiMdJO4LxEfHTsnWdCXQtKxsHnASsyK/7haTtSTvyHpIuBKZFxMVlr6sDjoqIkXln1pq0I/p8rvIT4ATSDvBUUjjcBJxdtp49gWty3X7AHZIGRcRrJXXaA38n7VB3BAYAD+Uj/U4R8UKu1y4iVmxo/ZLmrCAFQiXrBBnwXuCEHNLlWgF/AU4BiIhD8nv2BK6IiMH5+aPA8RHxz7LPZQ9SmLUhfbbfAJQ/p//JddaGrKRrSJ/xhcCdwMGkgNglb1N74O8R0RDg3ySdlT2Vt+0bEXFDyfs/0Mg2WwEcCNagE3Aa8GVgVi6bVbK84fGpwIeAx0k7wqpExARgQsNzSccAn4iI0/PzM4E9Krz0M8C1+fE+wC3Ae4B7JP09Io7Nr78KuDcibi1fgaQDgWnAF4H35W3pAvxO0uci4t5ctS1wBOlot54UjIuBs4BWkmYB3YA3JH2ItOOsun5EvJHfZxZpJ7i8rKntSTvmcj2BcyttW4VtPRE4DPgzcF/JoueAnSWdFRHfLin/AenMZG/SGc1K0u/1QOBKSQ3dTOdIuh/4ACkQ5gNHkYJ3FfA5YAFwe972PSNiXkQ8ksN+DekMpBJPl9BMOBCsQVtgKWkn9Z1G6vwQ+L9cD9Y/BvWOZZIOAiaWFG0LdM47TUjdTDeVvaY9cEBETAGIiKclnUM6Gp4CjJTUjrQTa3iN8rasJHWzjAVGkMLnHkmTgccj4mJJ84BfSvoDMJq0Q3+BdES+HPgnsAQ4FLgqv+Zm4PsR8YakNhtY/2PAebz9OVfSJnfZnBsRs3NZb9IOuBp3kc7uBgN9S8oHAmcCB0o6LCIeyeU3ANOBO0hnXfsDR5POAk+VdDHwWETcLuko4GlSeNxAOjv4OGlnv5T0Ox1B+t3/FpgHEBHXwNozjUo8ltlMOBCswV9JR3nvBZ5qOHJvIOkiYMeIuKyk+BVgtKQfA08BnYFtSOMEPy1b/3uAP0TEyLy+d5whNOLzwOSyskGknd5epK6KuaQj9R7AUNJRblvgWNKR63ZA34hYmF+/nHykGhE3SbqPFAbPk7q5XgO+AnyL1N3xMdJR+wH59d1yXTa0fj7CvzV/Xoty+3bN9V7Jr9spIk4q2+Y3gB+r8kVCuwPXRMT43LV3O+mo/0vAwfnMaSUpcGeSuoUmkI7uAU4mnYEAjMzlXUhdYQB78vYZWhvgblIgEBHTJZ1K+pspdXVETGt4IqkTKZz/DkzIY09vkP5e5tN4ONoW5kAwACLidVIXynDg0LzTKrU/cHPZa36Y6z0bEfWSTgc+FBHnVniLHYBl1bYn70T2jIgflJQJOJG0Q/s2MCUi/kvSJ0gB9KeIGFC2qtPX9z65r/sbef07kbrMxpOOWm8j7bQPBR7I3SfblgxGb2j9BvuTB8F5e2e6kBRk61zFFRHHN9Z+SRNJ3UFExCJJHyYd4e9OOrM4kBQ6LwKfj4hZ+ayqwZdIR/qfI3V7jQF+DtwvaTvSgPb8vP578nuOKXn9fvm1a/LzIaTwKXUe0CUiRktakbf7jzR9QGBbmAPByt1FukQR0s60Lal7BtJRbLkBpP/cTQngyDy42AH4D2BJft5gH2D3vJM+G7jqHSuICElfA2aQAqZhoHkM6ch1T0lfjYiKV/c02cCI2ZL6A4+QdpIfJQ3E/lvSLcCtwP0bW79EXV72OunzA3iAdDYzoqFSHvB9Itcr739vT+oO607qviHv6M8ljWl8DXhPHvz+FPBL0ud0askVSSKdIZyb23Qq6WxgXm7fVcBzsf4pkVeTQqGhfV1J3WgN27A7MIo07gRpDKLi5axWPAeCrSWpHrge+BdpB74r6cj3UFJ3QUdJn4iIx3L9XYDvkY6SK63vYGBBRCyMiOuB6/NrbiaNRXQqGVTeBvhrRPwjH1nvEhHrXPYYET/LfdknkcYS9gJ+Tzri/hnwFUndgfMj4s2N+Bh2Jw363kU6Ov5GLr+FNLZy8abUzzvh80iXZkIac4A0IAtpJ9+wrX8jdbU1StJ43h5f6Eg6CzsZOB94LV9d9Z+kwJom6bMR8aNc/xhSN9sA4EbgWVIodM7tv4zUjdSU0vs/dgMeKnl+OXB5RLyaf/cDSVezHVqyDT2Al8quxLIiRIR//FPxB/gvYFyF8k6kboK/ki47bSj/NOnovS3pYONBUrcApHAZRzri7Q98BPhZXjaWtDOakJ+PB3pUeN+OwNWkwefewHWks5ltgUmkHeEOpKPyTzWyTVcBI9ezzSLtKB8lXeH0A1I3yO9JO/IXgMM3oX4v4HekM4IHSN09z5U8fwTYvonfyzakQeNRpLEIlSzbgXRvyFzSGctcYEBe1oUUXt8FWueyOtJZxmzgvbnsYOAPwCWkrqZBZe//KOlMjvz515Us+xwwOj/el3S1U1vSZamzgHPysg8DN5X8TsYW/ffun3Ag+Cf9kI5Y/wI8SbpC5Lf5P/NzJc8fzTu6g/JO7ZSydexJOjp8Kv/8hnR9/m759V8A2uW6g4Gb8+PtgLYl6+nRSBv3zTuzVvl5T9KZBKR+7xH5cd16tvMa4KxGlm2T23w5qbsF4BPAvcB/5OcDSGc3HTei/i7Aw6SB31/nnyfzT8Pz23OdXZr4fV0P/Ag4sqx8AHAl6fLaTwEnli3fDhha8rw1KYzvJJ0N9iVdFHBCXv6h/HdwZMlrHgO658fPNXze+fOYQ7pvpPQz/QgpuC4oKd+ddOPb74H/17A+/xT7o/zLMTMDQFKHiPh3yfM2UeHO7w1YXztgt4iYvznaZ7XjQDAzM8A3hJiZWeZAMDMzoIVddrrzzjtHjx49im6GmVmLMXv27Ncioks1dVtUIPTo0YNZs2Y1XdHMzACQ9GK1dd1lZGZmgAPBzMwyB4KZmQEtbAzBzKySVatWsWDBApYv33pn0m7fvj1du3alTZtK37FUHQeCmbV4CxYsYNttt6VHjx408r0R72oRwaJFi1iwYAE9e/Zs+gWNcJeRmbV4y5cvp3PnzltlGABIonPnzpt8huRAMLN3ha01DBpsju13IJiZFWzlypVNV9oC3r1jCBdtX+P1L226jpkVosfY2zfr+uZ/54QNfs2FF17IYYcdxvHHv/MbUFevXk1dXR39+/fnvvvuo127dhx55JHMnDmT1atX07p167VH+zfffDOLFi1i8eLFfP3rX+fcc89l2LBhHHbYYZtlu8rVNBDy973eGRG3SZpK+vq82yNiQl6+TpmZWUs1btw4nnjiCSQxb9487r77bq644gpWrFjBOeecw5FHHsnw4cNp164dc+fO5ZRTTgHg2WefZdCgQaxcuZIpU6bQtWtXXnvtNf71r3+xZs0aVqxYwcsvv8xjjz3GpZdeCsBbb71Fq1abt5OnZoEg6XDSl4bcJmkI6RuaDpF0raTewAfLyyLiuVq1x8ys1iZMePu49qKLLqJfv34ce+yx76hz5ZVXsueee3L++edzySWXUFdXxwUXXMDYsWPZYYcdAFi4cCFjxozhpZdeYtWqVXTv3p0ZM2bw0ksvcfjhh/P888/z3e9+lzPOOGOztr8mgSCpDenbnO6QdBLpW5ym5cX3kL5CsW+FsnUCQdIo0lcF0q1bt1o018xsk61evRqAurrKu9WVK1dSV1fHM888w0c/+lFGjx5NmzZteOutt3jooYfYe++9mTdvHuPHj6dTp04cf/zxdOzYkWXLlrFkyRJmzJjBhAkTOPjgg/nxj3+82cMAaneG8CnS1+JdApwNfBGYmpctBvYnfaXgwrKydUTEFGAKQH19vb/Nx8yapTvvvJOrrroKSSxZsoTHH3+cDh06cMQRRwDp5rmJEycyefJkzjjjDNq3b8+wYcNYvHgxc+fO5brrruP111/n9NNPp2fPnkyfPp3jjjuOSZMmceCBB9KnTx+eeeYZOnfuTJ8+fWqyDbUKhL7AlIh4WdINwKFAh7ysE+nqpmUVyszMWqTBgwczePBgVq9ezcknn8yJJ57I0qVLGTZsGCNHjlxb7+abb+ass85a+3j27NkMGjSIu+66i1atWq0dUB4/fjyf/vSn2WOPPViwYAG33norQ4YMYdWqVYwePbom21CrnfA80pd8A9QDPUhdQgD7AfOB2RXKzMxarGXLljF06FCGDh1K3759Of/885kxYwaXXnopa9as4dlnn2XEiBFcfPHFrFixgrq6OiZPnsxZZ53F1VdfvTYQbrjhBs477zzOOOMMTj75ZA4//HB+8YtfcOCBB/K73/2OXr161aT9tTpDmApcK2kE0IY0hjBD0u7AcUA/IICHy8rMzDbZxlwmuqlmzpzJ5z//ecaNG8ewYcO46KKLaN26NdOmTWPs2LHstddeTJ06lenTp/P000/Ts2dPfvrTn9KxY0fGjx/P0KFD2XnnnTnttNMYPHgww4cPZ9q0aaxZs4axY8fywgsvMHnyZFavXs306dM56aSTNvs21CQQIuINYFhpmaQBwEDgkohY2liZmVlL1LdvX2bMmEH37t2BdLawevVq2rVrx+WXX855553Hbrvtxve+9z3mzJnDyJEjufrqq7nhhhuQxE033cSXv/xlBg4cyC677ML06dO54IILuOuuu5gzZw7Dhw/nuuuuo1evXowYMYI1a9YwZMiQzboNimg547T19fVR9Tem+cY0s63G3Llz2WuvvYpuRk2tXLmStm3bAmkyu4hY5z6ESp+DpNkRUV/Ne7x771Q2M3sXaQgDSPMW1WLuJl/ZY2ZmgAPBzMwyB4KZWQ01l5lMq+ExBDN799ncF5VUeRFJtTOZbulZTKvlQDAz2wwWL17c5EymEydOpFOnTlt8FtNqORDMzDaDnXbaqcmZTBcuXMiXvvSlLT6LabUcCGZmm0lTM5mOGTOmkFlMq+VBZTOzzeD5559fZybTgQMHrp3J9M4772Tx4sVMnz6dJUuWcMUVV/CnP/1p7Sym8+bNq9ksptXyGYKZ2WbQq1evqmYyLWIW02r5DMHMbDOoZibTn//854XMYlotnyGY2btPAXON9e7du8mZTIuaxbRaPkMwM9sMJHHVVVcxadIkhgwZwu233873v//9tTOZPvroo6xYsYI77riDCy64gPr6eubMmcOJJ57I5Zdfzj333MOkSZO45ZZbitsGz3a6kTzbqVmz0ZJnO61mFtNqbepspz5DMLN3hZZ0cFuqfBbTjQ2DzbH9DgQza/Hat2/PokWLWmwobKqIYNGiRbRv336T1uNBZTNr8bp27cqCBQt49dVXi25KYdq3b0/Xrl03aR0OBDNr8dq0aUPPnj2LbkaL5y4jMzMDHAhmZpY5EMzMDHAgmJlZ5kAwMzPAgWBmZpkDwczMgBoFgqQ6SX+V9ED++aCk8ZKekHR1Sb11yszMrBi1OkPYF7gpIgZExACgLdAfOAj4h6RjJB1QXlajtpiZWRVqdadyP2CQpKOAZ4A/A7+MiJB0N3AcsLRC2b3lK5I0ChgF0K1btxo118zManWG8ARwTEQcBLQBOgAL87LFwK5Axwpl64iIKRFRHxH1Xbp0qVFzzcysVmcIT0fEivx4Fm+HAkAnUhAtq1BmZmYFqdVO+HpJ+0lqDXyMdDbQPy/bD5gPzK5QZmZmBanVGcK3gBsBATOACcDDkn4IHJt/XgS+XVZmZmYFqUkgRMQfSVcarZWvIjoB+GFE/KWxMjMzK8YW+z6EiPg38L9NlZmZWTE8kGtmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yBYGZmgAPBzMwyB4KZmQEOBDMzyxwIZmYGOBDMzCxzIJiZGeBAMDOzzIFgZmaAA8HMzDIHgpmZAQ4EMzPLHAhmZgY4EMzMLHMgmJkZ4EAwM7PMgWBmZkCNA0HSrpKezI+nSpopaVzJ8nXKzMysGLU+Q7gU6CBpCNA6Ig4B3iepd6WyGrfFzMzWo2aBIOlo4E3gZWAAMC0vugfo30hZpfWMkjRL0qxXX321Vs01M9vq1dVipZLaAl8HTgZuBToCC/PixcD+jZStIyKmAFMA6uvro9o29Fh+48Y0vWrza7p2M7Mtr1ZnCGOBiRHxz/x8GdAhP+6U37dSmZmZFaRWO+FjgC9KegD4EDCYt7uE9iMdYM+uUGZmZgWpSZdRRBzR8DiHwonAw5J2B44D+gFRoczMzApS826aiBgQEa+TBpEfA46KiKWVymrdFjMza1xNzhAqiYglvH1VUaNlZmZWDA/kmpkZ4EAwM7PMgWBmZoADwczMMgeCmZkBDgQzM8scCGZmBjgQzMwscyCYmRngQDAzs8yBYGZmgAPBzMwyB4KZmQFVBIKS+kaW9dz8TTIzsyJUe4YwXdJlkkZLOhBA0gFAbb+42MzMtpj1fh+CJEVESJoHXAN0B46TdA2wAhi2BdpoZmZbQFNfkHOnpGXA9sCewAFAPTAD2BvoAiyoaQvNzGyLaCoQhpLOCkYD3wJeAk6KiDWSegDXSvpwRERNW2lmZjXXVCB8AegNvAY8DfwA+IuknwP7AF91GJiZvTs0Nai8HRDAoUBbUoD8AXgK6AHMqWXjzMxsy2kqEO4F/gL0Bf4MnAzsBxwLXAJ8raatMzOzLaapQDgKWAlcBfQBrgfmAY9FxPVAL0m+uc3M7F1gvWMIEfFNSR1JVxmtyfXHRcSjkroAV0TEW1ugnWZmVmNNDSoTEW8Cb5YULcz/XkrqTppZg3aZmdkWtlHdPZLOId2X8D/rqbOTpIGSdt7YxpmZ2ZazQYEgaWdJU0ljC8dGxMpG6u0I/Bo4CPiNpC6SpkqaKWlcSb11yszMrBiNdhnlweLTgWXAtsDBwHuBayJiRhPr3RcYExGP5XA4GmgdEYdIulZSb+CD5WUR8dxm2CYzM9sI6xtDaAv0AlYDnYA9gB2A9zbMcdTYCyPiQQBJR5DOEnYCpuXF9wD9SZeylpetEwiSRgGjALp161btdpmZ2QZqNBAiYjlwYWmZpO2Ac4CHJZ0SEa809npJAoYDS0g3tzUMRi8G9gc6Viir1I4pwBSA+vp63xVtZlYjGzSGEBGvR8QE4Cukie92WE/diIgvkqa8OBTokBd1yu+7rEKZmZkVZKN2whHxKOlO5YmVlkv6qqRP5ac7AN8hdQlButN5PjC7QpmZmRWkyfsQGhMRN0t6spHFU4Bpks4E/gjcCjwkaXfgOKAfqRvp4bIyMzMryEYHAkBE/LmR8iXAwNIySQNy2SURsbSxMjMzK8YmBcKGyCExrakyMzMrhgdyzcwMcCCYmVnmQDAzM8CBYGZmmQPBzMwAB4KZmWUOBDMzAxwIZmaWORDMzAxwIJiZWeZAMDMzwIFgZmaZA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmJlZ5kAwMzPAgWBmZpkDwczMAAeCmZllDgQzMwMcCGZmltUV3QBrxEXb13j9S2u7fjNrcWpyhiBpe0l3SrpH0q8ktZU0VdJMSeNK6q1TZmZmxahVl9FpwGUR8RHgZWAE0DoiDgHeJ6m3pCHlZTVqi5mZVaEmXUYRMbHkaRfgE8AP8vN7gP5AX2BaWdlz5euSNAoYBdCtW7daNNfMzKjxoLKkQ4Adgb8BC3PxYmBXoGOFsnVExJSIqI+I+i5dutSyuWZmW7WaBYKknYArgc8Ay4AOeVGn/L6VyszMrCC1GlRuC/wCuCAiXgRmk7qEAPYD5jdSZmZmBanVZacjgf2BCyVdCPwE+KSk3YHjgH5AAA+XlZmZWUFqNag8CZhUWiZpBjAQuCQiluayAeVlZmZWjC12Y1pELOHtq4oaLTMzs2J4INfMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmJlZ5kAwMzPAgWBmZpkDwczMAAeCmZllDgQzMwMcCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZmmQPBzMwAB4KZmWUOBDMzAxwIZmaWORDMzAxwIJiZWeZAMDMzwIFgZmaZA8HMzIAaBoKkXSU9nB+3kXSbpEckfaaxMjMzK05NAkHSjsB1QMdcdDYwOyIOA4ZK2raRMjMzK0itzhDWAMOB1/PzAcC0/PghoL6RsnVIGiVplqRZr776ao2aa2ZmdbVYaUS8DiCpoagjsDA/Xgzs2khZpXVNAaYA1NfXRy3a2xz1WH5jTdc/v6ZrN7OWaEsNKi8DOuTHnfL7ViozM7OCbKmd8Gygf368H+kAtVKZmZkVpCZdRhVcB9wh6XDgA8DvSN1F5WVmZlaQmp4hRMSA/O+LwEDgEeCYiFhTqayWbTEzs/XbUmcIRMTfefuqokbLzMysGB7INTMzwIFgZmaZA8HMzAAHgpmZZQ4EMzMDHAhmZpY5EMzMDHAgmJlZ5kAwMzPAgWBmZpkDwczMAAeCmZllDgQzMwMcCGZmljkQzMwMcCCYmVnmQDAzM8CBYGZm2Rb7Ck3byly0fY3Xv7S26zfbCvkMwczMAAeCmZll7jIyezdyl51tBAeC1USP5TfWdP3za7p2WvwOtcV//lYIB4JZBd6h2tbIYwhmZgY0gzMESVOBDwC3R8SEottjZsXrMfb2mq5//ndOqNm6W3LbCz1DkDQEaB0RhwDvk9S7yPaYmW3NFBHFvbl0BXBXRNwhaQTQISJ+UlZnFDAqP+0D/LlGzdkZeK1G694S3P5iuf3Fasntr3Xbu0dEl2oqFt1l1BFYmB8vBvYvrxARU4AptW6IpFkRUV/r96kVt79Ybn+xWnL7m1Pbix5UXgZ0yI87UXx7zMy2WkXvgGcD/fPj/fDVeGZmhSm6y+hW4GFJuwPHAf0KbEvNu6VqzO0vlttfrJbc/mbT9kIHlQEk7QgMBB6KiJcLbYyZ2Vas8EAwM7PmoegxBDMzayYcCGZmBhQ/qFwoSb1IVzntSgrH+aQpNN4osl3vdpLqgGOBf0TE4yXlwyLiF8W1rDqSOpPumZkJrAJOBP4ZEf9XaMM2gaQpETGq6ZrFk7R3RMyR1Ao4HugN/CEi7i+4aVWTtD/wN9L9V2cAAdwUEf8qtF1b6xiCpK8BvYB7SL+UTqRLX4cBR0XEPwps3ruapF8CrwBdgB2AMyJigaT7I+LoYlu3fjkMfgPcDRwILAGeIW1Hq4gYXWDzqiLp90B7oOEiDgEfAp5s7p8/QMPfiaQfkw5qZwMfAx6JiG8U27qmSZoEbAfsAfw/0uwLBwM7RMSxRbZtaz5DOCEiDisr+5WkbYEjgP8toE1Vk/QQsA3wemkxEC3gP3XHiPgCgKRDgFskXVBwm6rVl3Qk921JRwAfb9gJSXqg0JZV7zjgUtKNoV+NiNcl/aYF/N2U2yci+gFImgj8Hmj2gQAcEBEHSdoeODsiLpfUmnRwUaitORDmSroWmEaaPqMDcDhwNPCtIhtWpWHAT4HhEfF6E3Wbm7ckfTgi7ouImZKOJf0e9iu6YVWYDYyXdF9EPAQ8BCDpk8DKQltWpYh4BfikpKNIB0ETSV0WLUUvSd8GOkraNW/P3kU3agO8Kuk/gX2A7pI6AfsCfy22WVtxlxGApJOBAaQ5lZaR/rPf2lLGECTtAKyOiGVFt2VDSNoOOC0iJpWUtQFGRsTk4lpWnfy575sDoaHsK8CUiPhncS3bcPlzHwscExFHFt2eauSj6X1JN7I+Tuqyux74VkTMKbJt1ch/P58EFgG/Bb5J6nL8TkQ8UWjbtuZAMDOzt/myUzMzAxwIZmaWORBsqyRpj5LH75fUsUbvs0Pupzdr9hwI1uxJ6i3pm/nxZyR9Nj/+b0nvL6n3qqR7y36ea2S110pquKrpR8B7G3nvtpI+nR+3lnRHHtRsWP5oE82fDHy7kXV/S9JReTvGStpW0t2l69/Ael0lvSzpgbKflyR1baKdZlv1ZafWAkhqR7o+u5Wkw0k3VLWW1Jd0v8jlkrbJd3g+HRHHlL3+gbLnPyN9ZeH2wPclCegOXCZpfoUby04H7sqP3w8sjog1ksYAQ4G98j0hr0TEsLL3OqXhdZKOjIgHS5Z1It1DcgiwC/Ce3I438/obDta2qaZeRLwFrFjPR7lmPcvMAAeCNX/HkS6LfAw4paS8F+ky4cmkOz0vJN2Yt14R8amGx5L6ky63/HB+/mBp3dyN1Dki/poD6AfA3yU9ARwcEZdJurc8hPJrTwK+DHyRdCZ+jaRJJd8Zvj3QGRgNPAU8mh/vmQNmT9LdtwurrPc4aad/I+nu11J70ULukbBiORCsuWtNOkLfgxQCpf4C/DfQcMcIj1csAAADXklEQVT5ByXdW1bnHV1B+Y7ogcBb5J1yDgaAf5e9diRwLUBEPCnpNdIO/ifA/XlOpn3yWUgH4PzcpvFAN+Ak0vXmb5DmbrpO0lnAV4G5QA/g+0Af0pH/vqRgmwd8LiIel/SeKut9GjgVWArsXuFzvEHSFRFxZ4VlZoADwZq/6cBtpBt4hpQtuyUingSeBIiILpKmA6OAs4EHIqI8IPYGzoyIF0rOEC4qf9M8rUDbfBcseUqT7Uk3Mb4aESdJOg84FPhaRDya6/UiTaHw2dylsxxYExGLgcGSBgEvkv7vjScFxmWkSfL+BziAdDT/Qm5KVfUi4jpJjwPfJd093Zt0xvQsqWttTETMberDtq2bA8GatYhYDSBpKnAm6ei4LTCLfPTeIPen9wDWNzGhSEfqa0jdLaslDcjLdiSFxRPAZ4GpJa9bRZoM7kZgUh57OIkURhdLOi4iVkbE88BV69meX+e2HgZMIO249yNNLtcTuCVXbTiS715lPUhdUweQJk7bJW/rf+TXvmMA2qwSB4I1e5K+QJq7aQ2py6Q1aXC5naS2EXFFrnom8GBERNpfr319N2BFRLwSEaflsouA14A/NpwhSPoV8LKkLsCqiFg72VhELJc0GngOqCedKTxIGuy9BZgu6dTS16xPRDwiaRpp+oU7gTkRsUppJtKPkefTqrZe9gYpJBeRJuFrRRpn2Zl3ToJoVpEDwZq9iJgITASQ9AmgU+mcR3kH/mVgEKl7BNIYQY/8+LOko/urJe1D6oJ5GLgCOCZf8XMr0Doi/pbHGa4sbYPStNc3AacBR5K6pA4Bfh0REyXtmd/nkrLmi8Yv754MvAmMA16U1JPUpbWC9H0Lszaw3tGkubnW8PYZwh75/WfRDCZPs+bNgWDNWt6B/4z0nRWrSV9m1FrSx3KVNqQ+811J32PRMLncrcB/5wBZAXxGaartrwFfj4inJA0kjRMsk3Raw3gBMLXChIH7Az+JiHsk/TY/fjMHBRExJg8yl2tDhZlEJe0ITCKNAfQDPkAarP4v0ndF/K+kU/N2V1Nve9I4w9L8FtuQAqFhO86WtLDoydOsefPkdmYFkVRXMkYi0hfsrGl4Hvk/Z7X1zDaVA8HMzABPXWFmZpkDwczMAAeCmZllDgQzMwPg/wPvwIJHuFxPLgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212b8be2ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(15,7))\n",
    "Survived_0 = data_train.SibSp[data_train.Survived == 0].value_counts()\n",
    "Survived_1 = data_train.SibSp[data_train.Survived == 1].value_counts()\n",
    "df=pd.DataFrame({u'获救':Survived_1, u'未获救':Survived_0})\n",
    "df.plot(kind='bar', stacked=True)\n",
    "plt.title(u\"堂兄弟/妹个数数量与获救情况\")\n",
    "plt.xlabel(u\"堂兄弟/妹个数数量\") \n",
    "plt.ylabel(u\"人数\") \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x212bacfd3c8>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212bb182c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.arange(7),Survived_1/Survived_0)\n",
    "plt.title(u\"堂兄弟/妹个数数量与获救/未获救的比例\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 格式化数据，预处理数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 7 columns):\n",
      "Pclass      891 non-null int64\n",
      "Sex         891 non-null object\n",
      "Age         891 non-null float64\n",
      "SibSp       891 non-null int64\n",
      "Parch       891 non-null int64\n",
      "Fare        891 non-null float64\n",
      "Embarked    891 non-null object\n",
      "dtypes: float64(2), int64(3), object(2)\n",
      "memory usage: 48.8+ KB\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "#为了简便年了暂时用平均数代替，\n",
    "data_train.Age[data_train.Age.isnull()] = data_train.Age.mean()\n",
    "#Cabin 缺少太多了，暂且踢掉\n",
    "try:\n",
    "    train_x = data_train[['Pclass','Sex','Age','SibSp','Parch','Fare','Embarked']]\n",
    "except:\n",
    "    pass\n",
    "train_x.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass     Sex   Age  SibSp  Parch     Fare Embarked\n",
       "0       3    male  22.0      1      0   7.2500        S\n",
       "1       1  female  38.0      1      0  71.2833        C\n",
       "2       3  female  26.0      0      0   7.9250        S\n",
       "3       1  female  35.0      1      0  53.1000        S\n",
       "4       3    male  35.0      0      0   8.0500        S"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "male      577\n",
       "female    314\n",
       "Name: Sex, dtype: int64"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x.Sex.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "S    645\n",
       "C    169\n",
       "Q     77\n",
       "Name: Embarked, dtype: int64"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x.Embarked.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\pandas\\core\\generic.py:5984: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._update_inplace(new_data)\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py:2910: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  exec(code_obj, self.user_global_ns, self.user_ns)\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  after removing the cwd from sys.path.\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"\n"
     ]
    }
   ],
   "source": [
    "train_x.Sex[train_x.Sex=='male'] = 1\n",
    "train_x.Sex[train_x.Sex=='female'] = 0\n",
    "train_x.Embarked[train_x.Embarked=='S'] = 0\n",
    "train_x.Embarked[train_x.Embarked=='C'] = 0.5\n",
    "train_x.Embarked[train_x.Embarked=='Q'] = 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 建立模型，训练模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "添加神经网络层的函数\n",
    "inputs -- 输入内容\n",
    "in_size -- 输入尺寸\n",
    "out_size -- 输出尺寸\n",
    "activation_function --- 激励函数，可以不用输入\n",
    "\"\"\"\n",
    "def add_layer(inputs,in_size,out_size,activation_function=None):\n",
    "    W = tf.Variable(tf.zeros([in_size,out_size])+0.01)   #定义，in_size行,out_size列的矩阵,随机矩阵，全为0效果不佳\n",
    "    b = tf.Variable(tf.zeros([1,out_size])+0.01)              #不建议为0\n",
    "    Wx_plus_b = tf.matmul(inputs,W) + b                # WX + b\n",
    "    if activation_function is None:                               #如果有激励函数就激励，否则直接输出\n",
    "        output = Wx_plus_b\n",
    "    else:\n",
    "        output = activation_function(Wx_plus_b)\n",
    "    return output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "X = tf.placeholder(tf.float32,[None,7])\n",
    "Y = tf.placeholder(tf.float32,[None,1])\n",
    "\n",
    "\n",
    "output1 = add_layer(X,7,14,activation_function = tf.nn.sigmoid)\n",
    "output2 = add_layer(output1,14,7,activation_function = tf.nn.sigmoid)\n",
    "temp_y = add_layer(output2,7,1,activation_function = tf.nn.sigmoid)\n",
    "loss = tf.reduce_mean(tf.reduce_sum(tf.square(Y-temp_y),\n",
    "                                        reduction_indices=[1]))#先求平方，再求和，在求平均\n",
    "\n",
    "train_step = tf.train.AdamOptimizer(0.004).minimize(loss)#通过优化器，以0.1的学习率，减小误差loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: FutureWarning: reshape is deprecated and will raise in a subsequent release. Please use .values.reshape(...) instead\n",
      "  \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.25164667\n",
      "0.1158561\n",
      "0.11379335\n",
      "0.112497315\n",
      "0.11166738\n",
      "0.11116348\n",
      "0.1107922\n",
      "0.110567585\n",
      "0.110427834\n",
      "0.11029376\n",
      "0.110169664\n",
      "0.110037655\n",
      "0.10992538\n",
      "0.10986132\n",
      "0.1097109\n",
      "0.10962676\n",
      "0.10954108\n",
      "0.109453075\n",
      "0.10937318\n",
      "0.109300755\n",
      "0.1092353\n",
      "0.10917601\n",
      "0.109122366\n",
      "0.10907388\n",
      "0.10902151\n",
      "0.10897508\n",
      "0.10893324\n",
      "0.108895265\n",
      "0.10886061\n",
      "0.10882909\n",
      "0.1088002\n",
      "0.10877378\n",
      "0.10874952\n",
      "0.10872709\n",
      "0.108706266\n",
      "0.10868707\n",
      "0.108668804\n",
      "0.108651884\n",
      "0.108635634\n",
      "0.10859903\n",
      "0.10861471\n",
      "0.10862383\n",
      "0.10860137\n",
      "0.108517736\n",
      "0.10852225\n",
      "0.108609214\n",
      "0.108455606\n",
      "0.108347945\n",
      "0.10840367\n",
      "0.108385965\n",
      "0.108370714\n",
      "0.10835684\n",
      "0.10834415\n",
      "0.10833222\n",
      "0.10832102\n",
      "0.10831038\n",
      "0.1083001\n",
      "0.10829046\n",
      "0.10828114\n",
      "0.108272135\n",
      "0.10826339\n",
      "0.10825504\n",
      "0.10824662\n",
      "0.10823851\n",
      "0.108230375\n",
      "0.10822209\n",
      "0.108213075\n",
      "0.108202554\n",
      "0.108188376\n",
      "0.10817129\n",
      "0.108155794\n",
      "0.10814317\n",
      "0.10813179\n",
      "0.10812145\n",
      "0.108111866\n",
      "0.10810263\n",
      "0.10809403\n",
      "0.10808571\n",
      "0.108077824\n",
      "0.108070105\n",
      "0.10806276\n",
      "0.108055495\n",
      "0.10804853\n",
      "0.108041726\n",
      "0.108035214\n",
      "0.108028606\n",
      "0.10802225\n",
      "0.108019136\n",
      "0.10798847\n",
      "0.10807814\n",
      "0.108166605\n",
      "0.10819845\n",
      "0.108006865\n",
      "0.107995614\n",
      "0.10807282\n",
      "0.10814789\n",
      "0.108130895\n",
      "0.107941896\n",
      "0.10796042\n",
      "0.107955694\n"
     ]
    }
   ],
   "source": [
    "# train_x = iris[['a','b','c']]\n",
    "# train_y = iris[['class']]\n",
    "\n",
    "#拆分训练集数据集，分为输入和输出\n",
    "train_x = np.array(train_x).reshape(-1,7)\n",
    "train_y = data_train.Survived.reshape(-1,1)\n",
    "\n",
    "sess = tf.Session()\n",
    "sess.run(tf.global_variables_initializer())\n",
    "save_process = []\n",
    "for i in range(300000):#训练90000次\n",
    "    sess.run(train_step,feed_dict={X:train_x,Y:train_y})\n",
    "    if i%300 == 0:#每300次记录损失值（偏差值）\n",
    "        save_process.append(sess.run(loss,feed_dict={X:train_x,Y:train_y}))\n",
    "    if i%3000 == 0:#每300次记录损失值（偏差值）\n",
    "        print(sess.run(loss,feed_dict={X:train_x,Y:train_y}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x212beec8f28>]"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x212c08ba320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#第前两个数据比较大，踢掉\n",
    "save_process = np.delete(save_process,[0,1])\n",
    "plt.plot(range(len(save_process)),save_process)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 使用模型，测试模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>892</td>\n",
       "      <td>3</td>\n",
       "      <td>Kelly, Mr. James</td>\n",
       "      <td>male</td>\n",
       "      <td>34.5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330911</td>\n",
       "      <td>7.8292</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>893</td>\n",
       "      <td>3</td>\n",
       "      <td>Wilkes, Mrs. James (Ellen Needs)</td>\n",
       "      <td>female</td>\n",
       "      <td>47.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>363272</td>\n",
       "      <td>7.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>894</td>\n",
       "      <td>2</td>\n",
       "      <td>Myles, Mr. Thomas Francis</td>\n",
       "      <td>male</td>\n",
       "      <td>62.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>240276</td>\n",
       "      <td>9.6875</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>895</td>\n",
       "      <td>3</td>\n",
       "      <td>Wirz, Mr. Albert</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>315154</td>\n",
       "      <td>8.6625</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>896</td>\n",
       "      <td>3</td>\n",
       "      <td>Hirvonen, Mrs. Alexander (Helga E Lindqvist)</td>\n",
       "      <td>female</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3101298</td>\n",
       "      <td>12.2875</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Pclass                                          Name     Sex  \\\n",
       "0          892       3                              Kelly, Mr. James    male   \n",
       "1          893       3              Wilkes, Mrs. James (Ellen Needs)  female   \n",
       "2          894       2                     Myles, Mr. Thomas Francis    male   \n",
       "3          895       3                              Wirz, Mr. Albert    male   \n",
       "4          896       3  Hirvonen, Mrs. Alexander (Helga E Lindqvist)  female   \n",
       "\n",
       "    Age  SibSp  Parch   Ticket     Fare Cabin Embarked  \n",
       "0  34.5      0      0   330911   7.8292   NaN        Q  \n",
       "1  47.0      1      0   363272   7.0000   NaN        S  \n",
       "2  62.0      0      0   240276   9.6875   NaN        Q  \n",
       "3  27.0      0      0   315154   8.6625   NaN        S  \n",
       "4  22.0      1      1  3101298  12.2875   NaN        S  "
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_csv = pd.read_csv(\"../data/test.csv\")\n",
    "test_csv.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 418 entries, 0 to 417\n",
      "Data columns (total 11 columns):\n",
      "PassengerId    418 non-null int64\n",
      "Pclass         418 non-null int64\n",
      "Name           418 non-null object\n",
      "Sex            418 non-null object\n",
      "Age            332 non-null float64\n",
      "SibSp          418 non-null int64\n",
      "Parch          418 non-null int64\n",
      "Ticket         418 non-null object\n",
      "Fare           417 non-null float64\n",
      "Cabin          91 non-null object\n",
      "Embarked       418 non-null object\n",
      "dtypes: float64(2), int64(4), object(5)\n",
      "memory usage: 36.0+ KB\n"
     ]
    }
   ],
   "source": [
    "test_csv.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "def preprocessing(data):\n",
    "    \"\"\"\"\"\"\n",
    "    items = ['Pclass','Sex','Age','SibSp','Parch','Fare','Embarked']\n",
    "    data.Age[data.Age.isnull()] = data.Age.mean()\n",
    "    test_x = data[items]\n",
    "    test_x.Sex[test_x.Sex=='male'] = 1\n",
    "    test_x.Sex[test_x.Sex=='female'] = 0\n",
    "    test_x.Embarked[test_x.Embarked=='S'] = 0\n",
    "    test_x.Embarked[test_x.Embarked=='C'] = 0.5\n",
    "    test_x.Embarked[test_x.Embarked=='Q'] = 1\n",
    "    return test_x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  after removing the cwd from sys.path.\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\pandas\\core\\generic.py:5984: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._update_inplace(new_data)\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:8: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:9: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  if __name__ == '__main__':\n",
      "d:\\sorf\\anaconda3\\lib\\site-packages\\ipykernel_launcher.py:10: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  # Remove the CWD from sys.path while we load stuff.\n"
     ]
    }
   ],
   "source": [
    "test_data_x = preprocessing(test_csv)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data_y = sess.run(temp_y,feed_dict={X:test_data_x})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [],
   "source": [
    "threshold = 0.90#90是比较理想的分割阈值\n",
    "\n",
    "test_data_y[test_data_y > threshold] = 1\n",
    "test_data_y[test_data_y <= threshold] = 0\n",
    "\n",
    "test_data_y = test_data_y.reshape(418,)\n",
    "test_data_y = test_data_y.astype(np.int32,copy=False)\n",
    "test_data_y[test_data_y > threshold] = 1\n",
    "test_data_y[test_data_y <= threshold] = 0\n",
    "passengerId = np.arange(len(test_data_y))+892"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_data_y "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "out_cvs =  pd.DataFrame({'PassengerId':list(passengerId),'Survived':list(test_data_y)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "out_cvs.to_csv(path_or_buf = \"../data/out_90.csv\",index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
